package net.apexes.demo.codegen.ormlite.annotation.entity;

import com.j256.ormlite.field.*;
import com.j256.ormlite.table.*;
import net.apexes.demo.codegen.entity.base.OrmliteEntityBase;

/**
 * PriceStrategy. Corresponds to the database table "PRICE_STRATEGY"
 */
@DatabaseTable(tableName = "PRICE_STRATEGY")
public class PriceStrategy extends OrmliteEntityBase {

    private static final long serialVersionUID = 1L;

    /**
     * The columns of table "PRICE_STRATEGY"
     */
    public interface $ extends OrmliteEntityBase.$ {

        /**
         * DESCRIPTION
         */
        public static final String description = "DESCRIPTION";

        /**
         * EFFECTIVE_TIME
         */
        public static final String effectiveTime = "EFFECTIVE_TIME";

        /**
         * EXPIRE_TIME
         */
        public static final String expireTime = "EXPIRE_TIME";

        /**
         * NAME
         */
        public static final String name = "NAME";

        /**
         * TEMPLATE_ID
         */
        public static final String templateId = "TEMPLATE_ID";

    }

    @DatabaseField(columnName = $.description)
    private String description;

    @DatabaseField(columnName = $.effectiveTime, dataType = DataType.DATE, format="yyyy-MM-dd HH:mm:ss", canBeNull = false)
    private java.util.Date effectiveTime;

    @DatabaseField(columnName = $.expireTime, dataType = DataType.DATE, format="yyyy-MM-dd HH:mm:ss")
    private java.util.Date expireTime;

    @DatabaseField(columnName = $.name, canBeNull = false)
    private String name;

    @DatabaseField(columnName = $.templateId, canBeNull = false)
    private String templateId;

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public java.util.Date getEffectiveTime() {
        return effectiveTime;
    }

    public void setEffectiveTime(java.util.Date effectiveTime) {
        this.effectiveTime = effectiveTime;
    }

    public java.util.Date getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(java.util.Date expireTime) {
        this.expireTime = expireTime;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTemplateId() {
        return templateId;
    }

    public void setTemplateId(String templateId) {
        this.templateId = templateId;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(super.toString());
        sb.append(",description=").append(description);
        sb.append(",effectiveTime=").append(effectiveTime);
        sb.append(",expireTime=").append(expireTime);
        sb.append(",name=").append(name);
        sb.append(",templateId=").append(templateId);
        return sb.toString();
    }

    @Override
    public int hashCode() {
        return super.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        return super.equals(obj);
    }

}

